package com.atguigu.gmall.index.annotation;

//自定义缓存注解

import org.springframework.transaction.TransactionDefinition;

import java.lang.annotation.*;

//只定义在方法上
@Target({ElementType.METHOD})
//运行时注解
@Retention(RetentionPolicy.RUNTIME)
//文档注释
@Documented
public @interface GmallCache {


    /**
     * 缓存的key的前缀 默认值为gmall:cache
     * @return
     */
    String prefix() default "gmall:cache";

    /**
     * 缓存的锁的key的前缀 默认值为 gmall:lock
     * @return
     */
    String lock() default "gmall:lock";


    /**
     * 缓存的过期时间 300 单位为分钟
     * @return
     */
    int timeout() default 300;

    /**
     * 给缓存时间添加的随机值
     * @return
     */
    int random() default 30;
}
